稀疏矩阵
Sparse Matrix
大部分元素都是零的矩阵
在科学计算、数据分析、机器学习等领域,稀疏矩阵经常出现,因为很多实际问题中的矩阵表示会有大量的零元素。
处理稀疏矩阵时,通常不会直接存储所有的零值,而是只存储和操作非零元素,这样可以大大减少内存使用和计算时间。
稀疏矩阵在处理大规模数据集时非常有用,因为它们可以显著减少内存占用和计算资源,从而提高算法的效率。
稀疏矩阵几乎产生于所有的大型科学工程计算领域,包括计算流体力学、统计物理、电路模拟、图像处理、纳米材料计算等。
存储方式
压缩稀疏行(Compressed Sparse Row, CSR):将矩阵的行表示为三个数组:一个存储非零值,一个存储每行的非零值的列索引,一个存储每行的起始位置。这种方法适合于行操作和矩阵运算。
压缩稀疏列(Compressed Sparse Column, CSC):与CSR类似,但是是按列来存储数据,适合于列操作。
块压缩稀疏行(Block Compressed Row Storage, BCRS):是CSR的一种变体,将矩阵分割成块,每个块作为一个单元存储。